package com.shujia.wyh.day12;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOError;
import java.io.IOException;

/*
    以java程序为参照物
        按照流向分为输入流(外部文件时数据---->java)和输出流(java---->外部文件中去)
        按照数据的类型:
            辨别字节流和字符流: 如果一个文件使用记事本打开能够看懂就属于字符流,否则就是字节流(万能流)
            字节流:
                字节输入流：InputStream
                字节输出流：OutputStream  ---  FileOutputStream
            字符流:
                字符输入流
                字符输出流

 */
public class FileOutputStreamDemo1 {
    public static void main(String[] args) {
        //FileOutputStream(File file)
        //将写目标的文件封装成一个File对象，以参数的形式传入构造方法中
        //目标的文件可以不存在，如果不存在会自动创建
//        File file = new File("java/src/com/shujia/wyh/day12/a.txt");
//        FileOutputStream fos = new FileOutputStream(file);
//        System.out.println(fos);

        //FileOutputStream(String name)
        //默认是覆盖的形式写入
//        FileOutputStream fos = new FileOutputStream("java/src/com/shujia/wyh/day12/a.txt");

        FileOutputStream fos = null;
        try {
            //实现追加
            fos = new FileOutputStream("java/src/com/shujia/wyh/day12/a.txt",true);

            //如何实现换行
            //写入换行符
            //不同的操作系统换行符不同
            //windows：\r\n
            fos.write("\r\n".getBytes());

            //public void write(int b)
            //一次写一个字节
            fos.write(97);
            fos.write(98);
            fos.write(99);
            fos.write(100);

            //public void write(byte[] b)
            //写一个字节数组
            String s = "陈涛很帅！！";
            fos.write(s.getBytes());

            //public void write(byte[] b,int index,int len)
            //写字节数组的一部分
            byte[] arr = {101,102,103,104,105};
            fos.write(arr,1,3);
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            if(fos!=null){
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }


    }
}
